﻿<!doctype html public '-//W3C//DTD HTML 4.0 Transitional //EN'>
<html>
<head>
<title>AspBox帮助文档</title>
<meta charset='UTF-8' />
<meta name='generator' content='EverEdit' />
<link href='statics/default.css' rel='stylesheet'></link>
<link href='statics/prettify.css' rel='stylesheet'></link>
<script type='text/javascript' src='statics/prettify.js'></script>
<script type='text/javascript' src='statics/jquery-1.10.2.min.js'></script>
<script type='text/javascript' src='statics/code.js'></script>
</head>
<body>
<h1>AspBox基类</h1>

<table>
    <tr>
        <td>文件：</td>
        <td>Cls_AB.asp</td>
    </tr>
    <tr>
        <td>类名：</td>
        <td>Class Cls_AB</td>
    </tr>
</table>

<hr />

<p><strong>AB.SoftName() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取软件名称</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>AspBox </p>
</blockquote>

<hr />

<p><strong>AB.Version() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取版本号</p>
</blockquote>

<p><em>返回结果</em></p>

<blockquote>
  <p>v1.4.0 Build 20140927</p>
</blockquote>

<hr />

<p><strong>AB.RegID() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取版本注册ID， 用于版本升级比较</p>
</blockquote>

<p><em>返回结果</em></p>

<blockquote>
  <p>1.40.140927.00</p>
</blockquote>

<hr />

<p><strong>AB.CharSet() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 文件编码</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CharSet = &#8220;UTF-8&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>UTF-8</p>
</blockquote>

<hr />

<p><strong>AB.ifCore() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 是否预加载核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.ifCore = True</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean类型] ： <u>False</u> | True</p>
</blockquote>

<hr />

<p><strong>AB.ifMvc() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 是否启用MVC模型</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.ifMvc = True</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean类型] ： <u>False</u> | True</p>
</blockquote>

<hr />

<p><strong>AB.Debug() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 打开开发者调试模式</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Debug = True</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean类型] ： <u>False</u> | True</p>
</blockquote>

<hr />

<p><strong>AB.baseCore() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 配置预定义核心类</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.baseCore = &#8220;C,D,H,E,A,DB&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.noCore() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 配置不加载的预定义核心类</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.noCore = &#8220;DB,Dbo,SC,jsLib,Pager&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.BasePath() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 AspBox目录路径，以&#8221;/&#8221;开头</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.BasePath = &#8221;/Inc/AspBox/&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.PluginPath() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 AspBox插件目录，一般缺省按默认配置</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.PluginPath = AB.BasePath &amp; &#8220;plugin/&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.CorePath() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 AspBox核心目录，一般缺省按默认配置</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CorePath = AB.BasePath &amp; &#8220;library/&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.CachePath() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 AspBox缓存目录，一般缺省按默认配置</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CachePath = AB.BasePath &amp; &#8220;_Cache/&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.FileBOM() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 如何处理载入的UTF-8文件的BOM信息(keep/remove/add)</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.FileBOM = &#8220;remove&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型] : <u>remove</u> | keep | add</p>
</blockquote>

<hr />

<p><strong>AB.tbPrefix() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 数据表前缀</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.tbPrefix = &#8221;&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.FsoName() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 FSO组件的名称（如果服务器上修改过）</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.FsoName = &#8220;Scripting.FileSystemObject&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.SteamName() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 ADODB.Stream组件的名称（如果服务器上修改过）</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.SteamName = &#8220;ADODB.Stream&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.DictName() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 Scripting.Dictionary字典组件的名称（如果服务器上修改过）</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.DictName = &#8220;Scripting.Dictionary&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型]</p>
</blockquote>

<hr />

<p><strong>AB.CookieEncode() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 Cookie是否加密</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CookieEncode = True</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean类型] ： <u>False</u> | True</p>
</blockquote>

<hr />

<p><strong>AB.CacheType() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>设置|获取 缓存方式
      默认不缓存:          0|空值|False
      app形式：          1|app|True
      文件形式：           2|file
      数据库形式：          3|data|db
      经测试：将值设置为 app 效率为最高</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CacheType = &#8220;app&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[String类型] : <u>空值</u> | app | file | data</p>
</blockquote>

<hr />

<p><strong>AB.ScriptTime() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取 计算脚本执行时间</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>timer = AB.ScriptTime</p>
</blockquote>

<p><em>返回结果</em></p>

<blockquote>
  <p>[String类型] ： 0.882</p>
</blockquote>

<hr />

<p><strong>AB.dbQueryTimes() 属性</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取 计算数据库查询次数</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>times = AB.dbQueryTimes</p>
</blockquote>

<p><em>别名</em></p>

<blockquote>
  <p>times = AB.QT</p>
</blockquote>

<p><em>返回结果</em></p>

<blockquote>
  <p>[Integer类型] ： 4</p>
</blockquote>

<hr />

<p><strong>AB.CacheClean() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取 清除AspBox缓存数据</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.CacheClean()</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.HasCore() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>判断AspBox是否包含某个核心core</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>bool = AB.HasCore(core)</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean类型] ： False | True</p>
</blockquote>

<hr />

<p><strong>AB.DictAdd() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>新增AspBox字典库字典项</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.DictAdd key, value</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String key ： 键名
      MixType value ： 值</p>
</blockquote>

<p><em>别名</em></p>

<blockquote>
  <p>AB.DA key, value</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.DictDel() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>删除AspBox字典库字典项</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.DictDel key</p>
</blockquote>

<p><em>别名</em></p>

<blockquote>
  <p>AB.DD key</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.DictClear() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>清空AspBox字典库所有字典项</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.DictClear()</p>
</blockquote>

<p><em>别名</em></p>

<blockquote>
  <p>AB.Dc()</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.Load() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>载入AspBox核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Load core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要加载的核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.ReLoad() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>重新载入AspBox核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.ReLoad core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要重新加载的核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.Lib() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>通过AB.Lib引入核心并赋予对象</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>Set obj = AB.Lib(core)</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>Object obj ： 创建的新对象
      String core ： 核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Object类型]</p>
</blockquote>

<hr />

<p><strong>AB.Use() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>载入AspBox核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Use core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要加载的核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.ReUse() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>重新载入AspBox核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.ReUse core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要重新加载的核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.Ext() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>通过AB.Ext引入插件并赋予对象, 插件目录在 plugin 下</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>Set obj = AB.Ext(core)</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>Object obj ： 创建的新对象
      String core ： 核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Object类型]</p>
</blockquote>

<hr />

<p><strong>AB.Drop() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>释放AspBox核心</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Drop core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要释放的核心名</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.Free() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>释放对象</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Free core</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String core ： 要释放的对象名</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>AB.Free &#8220;DB&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.Trace() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>调试查看变量，若字典和rs对象，只输出前50条数据</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.Trace var</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>MixType var ： 变量</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>AB.Trace Array(0,1,2)</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.TraceAll() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>调试查看变量，输出全部数据</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.TraceAll var</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>MixType var ： 变量</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>AB.TraceAll Array(0,1,2)</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.FnInit() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>重置AB.Fn(一旦重置则以前增设的所有属性将全部失效)</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.FnInit()</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.FnAdd() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>给AB.Fn拓展增加属性值(可以是 对象 或 字符串)</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.FnAdd str, obj</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String str ： 作为AB.Fn的变量属性名
      MixType obj ： 赋值</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>class cls_t: function foo() : foo = "hello!" : end function : end class
      class cls_a: function sum(a,b) : sum = a + b : end function : end class
      class cls_b: sub sayhello() : response.write("hi,jack") : end sub : end class
      dim o_t : set o_t = New cls_t
      dim o_a : set o_a = New cls_a
      dim o_b : set o_b = New cls_b
      ab.fnAdd "m", o_t
      ab.fnAdd "n", o_a
      AB.C.PrintCn ab.fn.m.foo() '输出：hello!
      AB.C.PrintCn ab.fn.n.sum(2,5) '输出：7
      AB.C.PrintCn ab.fnHas("m") '输出：True
      AB.C.PrintCn ab.fnHas("abc") '输出：False
      AB.Trace ab.fnItems '输出全部定义属性值
      AB.Trace ab.fnItem("m") '输出属性 m 的值
      ab.fnAdd "m", o_b '此属性 m 的值被覆盖，值变为 o_b 对象
      ab.fn.m.sayhello() '输出：hi,jack
      ab.fnAdd "n", "abcdefg" '此属性 n 的值被覆盖，值变为字符串 abcdefg
      AB.Trace ab.fnItem("n")
      ab.fnAdd "n", o_t '此属性 n 的值再次被覆盖，值又变为 o_t 对象
      AB.Trace ab.fn.n</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.FnDel() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>删除AB.Fn拓展的某个属性</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.FnDel str</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String str ： AB.Fn属性名</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>class cls_t: function foo() : foo = "hello!" : end function : end class
      class cls_a: function sum(a,b) : sum = a + b : end function : end class
      dim o_t : set o_t = New cls_t
      dim o_a : set o_a = New cls_a
      ab.fnAdd "m", o_t
      ab.fnAdd "n", o_a
      AB.C.PrintCn ab.fnHas("m") '输出：True
      If ab.fnHas("m") Then AB.C.PrintCn ab.fn.m.foo()
      ab.FnDel "m" '删除属性m
      AB.C.PrintCn ab.fnHas("m") '输出：False</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.FnHas() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>检测AB.Fn拓展是否含有某项属性</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>bool = AB.FnHas(str)</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String str ： AB.Fn属性名</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>class cls_t: function foo() : foo = "hello!" : end function : end class
      dim o_t : set o_t = New cls_t
      ab.fnAdd "m", o_t
      AB.C.PrintCn ab.fnHas("m") '输出：True
      AB.C.PrintCn ab.fnHas("abc") '输出：False</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Boolean (布尔值)]</p>
</blockquote>

<hr />

<p><strong>AB.FnItem() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取AB.Fn拓展的某属性值</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>[Set] var = AB.FnItem(str)</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String str ： AB.Fn属性名</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>class cls_t: function foo() : foo = "hello!" : end function : end class
      dim o_t : set o_t = New cls_t
      ab.fnAdd "m", o_t
      AB.Trace ab.fn.m '输出 ab.fn.m 的值
      AB.Trace ab.fnItem("m") '输出某项属性值,等同输出 ab.fn.m 的值</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Anything (任何值)]</p>
</blockquote>

<hr />

<p><strong>AB.FnItems() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>获取AB.Fn拓展的所有属性对象的集合信息（字典对象）</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>Set obj = AB.FnItems()</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>class cls_t: function foo() : foo = "hello!" : end function : end class
      class cls_a: function sum(a,b) : sum = a + b : end function : end class
      dim o_t : set o_t = New cls_t
      dim o_a : set o_a = New cls_a
      ab.fnAdd "m", o_t
      ab.fnAdd "n", o_a
      AB.C.PrintCn ab.fn.m.foo() '输出：hello!
      AB.C.PrintCn ab.fn.n.sum(2,5) '输出：7
      AB.C.PrintCn ab.fnHas("m") '输出：True
      AB.C.PrintCn ab.fnHas("abc") '输出：False
      AB.Trace ab.fnItems '输出全部定义属性值(字典对象)
      AB.Trace ab.fnItem("m") '输出属性 m 的值</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[Object Dictionary对象]</p>
</blockquote>

<hr />

<p><strong>AB.setError() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>AB抛出错误信息</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.setError str, code</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>String str ： 抛错字符串
      Integer code ： 抛错代码</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>AB.Error(1) = "程序运行出错"
      AB.setError "(Error: 文件不存在)", 2</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />

<p><strong>AB.ShowErr() 方法</strong></p>

<p><em>说明</em></p>

<blockquote>
  <p>AB直接中断输出错误信息</p>
</blockquote>

<p><em>语法</em></p>

<blockquote>
  <p>AB.ShowErr code, desc</p>
</blockquote>

<p><em>参数</em></p>

<blockquote>
  <p>Integer code ： 错误代码
      String desc ： 错误描述</p>
</blockquote>

<p><em>举例</em></p>

<blockquote>
  <p>AB.ShowErr 0, &#8221;程序运行出错。&#8221;</p>
</blockquote>

<p><em>返回值</em></p>

<blockquote>
  <p>[无返回值]</p>
</blockquote>

<hr />
<script type='text/javascript'>
$(document).ready(function(){
  if($('code').length>0){
    $('code').parent().addClass('prettyprint');
    prettyPrint();
};
});
</script>
</body>
</html>